package no7;

/*
 * 客户端发文件给服务端，服务端将文件保存到本地 
 */
import java.io.*;
import java.net.*;
import org.junit.Test;

public class TCPTest2 {
	@Test
	public void client() {
		Socket socket = null;
		InetAddress inet = null;
		OutputStream os = null;
		FileInputStream fis = null;
		try {
			inet = InetAddress.getByName("192.168.56.1");
			socket = new Socket(inet, 9090);
			os = socket.getOutputStream();
			fis = new FileInputStream(new File("C:\\Users\\86156\\Desktop\\1.txt"));
			byte[] buffer = new byte[1024];
			int len;
			while((len = fis.read(buffer)) != -1) {
				os.write(buffer, 0, len);
			}
		} catch(IOException e) {
			e.printStackTrace();
		} finally {
			if(socket != null) {
				try {
					socket.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(os != null) {
				try {
					os.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(fis != null) {
				try {
					fis.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	@Test
	public void server() {
		ServerSocket ss = null;
		Socket socket = null;
		InputStream is = null;
		FileOutputStream fos = null;
		try {
			ss = new ServerSocket(9090);
			socket = ss.accept();
			is = socket.getInputStream();
			fos = new FileOutputStream(new File("C:\\Users\\86156\\Desktop\\2.txt"));
			byte[] buffer = new byte[1024];
			int len;
			while((len = is.read(buffer)) != -1) {
				fos.write(buffer, 0, len);
			}
		} catch(IOException e) {
			e.printStackTrace();
		} finally {
			if(ss != null) {
				try {
					ss.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(socket != null) {
				try {
					socket.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(is != null) {
				try {
					is.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(fos != null) {
				try {
					fos.close();
				} catch(IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

